home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / src / ConfigFileSrc.lha / ConfigFileSrc12 / RexxLibrary / Funcs / Add.c next >
Encoding:
Text File  |  1997-10-02  |  3.1 KB  |  144 lines

  1. /*
  2. **        $PROJECT: RexxConfigFile.library
  3. **        $FILE: Add.c
  4. **        $DESCRIPTION: rxcf_Add#?() functions
  5. **
  6. **        (C) Copyright 1997 Marcel Karas
  7. **             All Rights Reserved.
  8. */
  9.  
  10. IMPORT struct Library *CFBase;
  11.  
  12. /****** rexxconfigfile.library/cf_AddArgument ********************************
  13. *
  14. *   NAME
  15. *        cf_AddArgument -- Adds an argument node to the argument list of a
  16. *                          group node.
  17. *
  18. *   SYNOPSIS
  19. *        cf_AddArgument(GrpNode,ArgNode)
  20. *
  21. *        cf_AddArgument(GRPNODE/N/A,ARGNODE/N/A)
  22. *
  23. *   FUNCTION
  24. *        This function adds an argument node to the argument list of a
  25. *        group node.
  26. *
  27. *   INPUTS
  28. *        GrpNode - The group node for add to.
  29. *        ArgNode - Pointer to the argument node.
  30. *
  31. *   EXAMPLE
  32. *        ...
  33. *        myNewArgNode = cf_CloneArgument(myArgNode)
  34. *        cf_AddArgument(myGrpNode, myNewArgNode)
  35. *        ...
  36. *
  37. *   SEE ALSO
  38. *        cf_AddGroup(), cf_AddItem()
  39. *
  40. ******************************************************************************
  41. *
  42. */
  43.  
  44. UWORD rxcf_AddArgument ( RX_FUNC_ARGS, CFGroup * GrpNode )
  45. {
  46.     CFArgument    * ArgNode;
  47.  
  48.     if ( ArgNode = GetAdrArg (RxMsg, 2) )
  49.     {
  50.         cf_AddArgument (GrpNode, ArgNode);
  51.         return (RC_OK);
  52.     }
  53.  
  54.     return (RXERR_INVALID_ARG);
  55. }
  56.  
  57. /****** rexxconfigfile.library/cf_AddGroup ***********************************
  58. *
  59. *   NAME
  60. *        cf_AddGroup -- Adds a group node to the grouplist of a header.
  61. *
  62. *   SYNOPSIS
  63. *        cf_AddGroup(Header,GrpNode)
  64. *
  65. *        cf_AddGroup(HEADER/N/A,GRPNODE/N/A)
  66. *
  67. *   FUNCTION
  68. *        This function adds a group node to the group list of a header.
  69. *
  70. *   INPUTS
  71. *        Header - Pointer to the Header for add to.
  72. *        GrpNode - Pointer to the group node.
  73. *
  74. *   EXAMPLE
  75. *        ...
  76. *        myNewGrpNode = cf_CloneGroup(myGrpNode)
  77. *        cf_AddGroup(myHeader, myNewGrpNode)
  78. *        ...
  79. *
  80. *   SEE ALSO
  81. *        cf_AddArgument(), cf_AddItem()
  82. *
  83. ******************************************************************************
  84. *
  85. */
  86.  
  87. UWORD rxcf_AddGroup ( RX_FUNC_ARGS, CFHeader    * Header )
  88. {
  89.     CFGroup     * GrpNode;
  90.  
  91.     if ( GrpNode = GetAdrArg (RxMsg, 2) )
  92.     {
  93.         cf_AddGroup (Header, GrpNode);
  94.         return (RC_OK);
  95.     }
  96.  
  97.     return (RXERR_INVALID_ARG);
  98. }
  99.  
  100. /****** rexxconfigfile.library/cf_AddItem ************************************
  101. *
  102. *   NAME
  103. *        cf_AddItem -- Adds an item node to the item list of an argument
  104. *                      node.
  105. *
  106. *   SYNOPSIS
  107. *        cf_AddItem(ArgNode,ItemNode)
  108. *
  109. *        cf_AddItem(ARGNODE/N/A,ITEMNODE/N/A)
  110. *
  111. *   FUNCTION
  112. *        This function adds an item node to the item list of an argument
  113. *        node.
  114. *
  115. *   INPUTS
  116. *        ArgNode - The argument node for add to.
  117. *        ItemNode - Pointer to the item node.
  118. *
  119. *   EXAMPLE
  120. *        ...
  121. *        myNewItemNode = cf_CloneItem(myItemNode)
  122. *        cf_AddItem(myArgNode, myNewItemNode)
  123. *        ...
  124. *
  125. *   SEE ALSO
  126. *        cf_AddArgument(), cf_AddGroup()
  127. *
  128. ******************************************************************************
  129. *
  130. */
  131.  
  132. UWORD rxcf_AddItem ( RX_FUNC_ARGS, CFArgument * ArgNode )
  133. {
  134.     CFItem * ItemNode;
  135.  
  136.     if ( ItemNode = GetAdrArg (RxMsg, 2) )
  137.     {
  138.         cf_AddItem (ArgNode, ItemNode);
  139.         return (RC_OK);
  140.     }
  141.  
  142.     return (RXERR_INVALID_ARG);
  143. }
  144.